package com.cskaoyan.service.back.admin;


import com.cskaoyan.bean.bo.back.admin.AdminBo;
import com.cskaoyan.bean.po.*;
import com.cskaoyan.bean.vo.back.admin.BaseDataVo;

/**
 * 用户管理服务
 *
 * @author 李然
 * @date 2022/10/12
 */
public interface AdminService {

    /**
     * 得到用户id
     *
     * @param id id
     * @return {@link MarketUser}
     */
    MarketUser getUserById(Integer id);

    /**
     * 被参数用户列表
     *
     * @param parameter 参数
     * @return {@link BaseDataVo}<{@link MarketUser}>
     */
    BaseDataVo<MarketUser> getUserListByParam(AdminBo parameter);

    /**
     * 获得地址列表
     *
     * @param parameter 参数
     * @return {@link BaseDataVo}<{@link MarketAddress}>
     */
    BaseDataVo<MarketAddress> getAddressList(AdminBo parameter);

    /**
     * 得到收集名单
     *
     * @param parameter 参数
     * @return {@link BaseDataVo}<{@link MarketCollect}>
     */
    BaseDataVo<MarketCollect> getCollectList(AdminBo parameter);

    /**
     * 得到足迹列表
     *
     * @param parameter 参数
     * @return {@link BaseDataVo}<{@link MarketFootprint}>
     */
    BaseDataVo<MarketFootprint> getFootprintList(AdminBo parameter);

    /**
     * 让历史列表
     *
     * @param parameter 参数
     * @return {@link BaseDataVo}<{@link MarketSearchHistory}>
     */
    BaseDataVo<MarketSearchHistory> getHistoryList(AdminBo parameter);

    /**
     * 得到反馈列表
     *
     * @param parameter 参数
     * @return {@link BaseDataVo}<{@link MarketFeedback}>
     */
    BaseDataVo<MarketFeedback> getFeedbackList(AdminBo parameter);

    /**
     * 更新用户通过json参数
     *
     * @param parameter 参数
     */
    void updateUserByJsonParam(MarketUser parameter);

}
